


battle magic

by ricocheted



Category: The Witcher (TV)
Genre: Alternate Universe - Canon Divergence, Casual Sex, Flirting, Hijinks & Shenanigans, Humor, Jaskier and Yennefer putting the enemies in frenemies, Jaskier | Dandelion Being a Little Shit, M/M, Mage Jaskier | Dandelion, Mild Smut, does geralt have control over his life? no, i mean i suppose there's some plot at some point, the bard may have a little combat magic...as a treat
Language: English
Status: In-Progress
Published: 2020-05-30
Updated: 2020-05-30
Packaged: 2021-03-02 22:40:40
Rating: Explicit
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 3,848
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/24444481
Author URL: https://archiveofourown.org/users/ricocheted/pseuds/ricocheted
Summary: “Julian Alfred Pankratz,” Yennefer said, voice dripping with derision. “Otherwise known as the troubadourJaskier.” She prodded at a flower emerging from the dirt with the tip of her boot and rolled her eyes, tone turning lofty. “Oxenfurt’s firstmage.”Geralt stared at her. “Mage? He told me he was abard.” He scoured his memories of the night before, trying to remember an instance in which Julian--Jaskier--had used magic, had given any indication of magical ability whatsoever.Yennefer made a disgusted face. “Ugh. Heis.”---A Witcher, a bard, and a sorceress walk into a hunt. It's all downhill from there.
Relationships: Geralt z Rivii | Geralt of Rivia/Jaskier | Dandelion
Comments: 21
Kudos: 365





	battle magic

**Author's Note:**

> this is the dumbest, most chaotic thing i've ever written. such is life.

Fuck, Geralt hated monster hunts.

Not the contracts he took from frightened villagers, or even those given to him by the local authorities of the bigger territories. It was the _spectacles_ , the hunts that people flocked to for huge sums of coin and acclaim, put on by the bored and rich.

Geralt didn’t hunt monsters for sport, or glory; nor to furnish bastard lords with trophies to mount over their mantles. But Geralt was a Witcher. He had a job to do, and that job didn’t make enough coin to turn down the bounty on a creature he already intended to pursue.

The reports told of a monstrous beast, roaming the forested mountains that formed the border between Kaedwen and Redania. From what Geralt could tell, it sounded like a wyvern; but mutated somehow, strange and twisted. A kindred spirit, Geralt supposed, lips curving bitterly.

Whatever. The hunt began tomorrow--up the mountain and through the trees, avoiding the others as thoroughly as possible, hopefully reaching the wyvern before they could. Geralt was grateful only for the fact that the mountain was shorter than its nearby brethren.

Well. That, and the tavern at the bottom of it. Ugly and dirty, but a _tavern_ , still. Immediately upon entering Geralt made a beeline for the bar, bought a drink, and claimed a table in the darkest, dingiest corner of it, assuming that his demeanor was foreboding enough to dissuade those foolish enough to want to talk to him.

Apparently he needed to rethink how foreboding he was, Geralt thought, darkly, given that it took about half an hour for some idiot to approach him. Geralt took stock of him out of his periphery; tall and lithe, clad in a ridiculous blue outfit with an instrument--a lute, maybe--strapped to his back. Handsome, enough that Geralt would bet good coin that he was also profoundly annoying.

He reached Geralt’s table and struck a casual pose, to limited success. The dark, messy hair swooping over his blue eyes looked stupidly, purposely disheveled. “You know, for a man as dashing as yourself, you seem to be tragically lacking in company.”

Of course Geralt wasn’t lucky enough to get a regular idiot. He got one with balls to hit on a _Witcher_. “Fuck off.”

The man had enough sense to not sit down, but not enough to stop talking. “The name’s Julian! Julian Pankratz. Just a humble bard, as you can see.” He gestured towards his lute. “My apologies for interrupting whatever deep thoughts you’re clearly entertaining, but I’ve never met a Witcher before. I can’t imagine how many stories you must have, of all of your noble deeds and, just--general _heroism_ , I suppose.“ He smiled at Geralt, eyes bright and eager.

Geralt scowled, but the bard’s baffling enthusiasm was sincere enough to lower his hackles. Just barely. "Well, then. Fuck off, _bard_.”

Undeterred, Julian flashed him a saucy grin. “How about this? I’ll fuck off and leave you to your Witcherly business, once you’ve let me buy you a drink far better than the swill they’re slinging for the rest of this lot.”

Geralt swept his gaze across the room and let it fall on the bartender, who was serving everyone from the same dingy barrel. “Must’ve missed the menu.” His voice turned mocking. “Or are you going to pull some strings? Have a lot of connections in bumfuck Redanian taverns?”

“I’ve found that purse strings are the most effective strings to pull. Well, the second-most effective.” Geralt raised an eyebrow and Julian winked and waved towards his lute once more. “Through the lute, one can reach the purse and, just as critically, the _heart_! Which also happens to have very pull-able strings. It’s tremendously versatile, really. The, ah, lute.”

Geralt snorted despite himself and considered his ale. It really did taste like goat piss. He carefully weighed the prospect of a decent drink against being forced to suffer through the bard’s…everything. “Will you keep your mouth shut while I’m drinking?”

“I cannot, in good conscience, promise that,” Julian replied, beaming. “But! I’ll buy you an _especially_ expensive drink as compensation for your time.” Geralt rolled his eyes, but shoved his mug towards Julian. He watched the bard dart over to the bar and chat with the bartender; the man raised his eyebrow at the coins Julian subtly slid over the counter and, to Geralt’s immense consternation, pulled something out from beneath the bar and poured two mugs of it.

Julian sauntered back and took the liberty of sliding into the booth across from him, looking deeply smug. Geralt frowned and took a wary sip from the mug passed to him. It was _good_. Fuck.

"So,” Julian said, resting his elbows on the table and leaning forward. “Would you prefer to regale me with what I’m sure will be tremendously vivid and intrepid tales, or would you like me to fill the silence while you drink?”

“Is that an offer or a threat?”

Julian pursed his lips in thought. They were very pink, and very soft-looking. “Hm. Both, I suppose.” The bard cupped his chin in his hands and leered. Geralt groaned and took another swig.

One drink turned into two, turned into three, turned into Julian fumbling the fourth mug and cleaning the fancy ale trickling down his wrist with delicate swipes of his tongue, turned into Geralt hoisting Julian up by the thighs and shoving him against the back wall of the tavern to suck dark bruises into his throat and grind their hips together in a rough, dirty rhythm.

Julian dragged Geralt into a hot, biting kiss, moaning breathlessly against his lips. “Let me down, come on, let me see it,” Julian panted, scratching his nails down Geralt’s arms. Geralt gave him a parting bite just below his jaw and dropped him, allowing the bard to frantically undo Geralt’s pants.

“Oh, _fuck_ ,” Julian panted, pulling Geralt out. He licked his lips and stared at Geralt’s cock. “Gods, that is something.” He nuzzled against it, before heaving a regretful sigh. “Listen, love–”

Geralt scowled through the hazy lust and tugged at Julian’s hair. “Don’t call me that.”

Julian pulled back to make a disbelieving face at him. “Are you always this crotchety with your bedmates?” He directed his gaze towards the night sky and sighed again, dramatically. “You really are lucky that you’re so incredibly attractive.”

Geralt stared at the bard with matching disbelief. “What about you? Do you always fucking talk this much?” Julian licked a stripe down his cock and Geralt’s mouth snapped shut.

“Anyways, _as_ I was saying, I would really, truly love to tackle this, but I’ve got a job to do tomorrow, and I need everything, you know.” Julian gestured vaguely at his throat. “Intact.” He looked wistfully at Geralt’s cock. “And that would ruin me. _Gods.”_

Geralt bit back a groan of frustration. His cock _throbbed_. “Then what do you propose we do, bard?”

“Ah, well,” Julian said. He tilted his head and paused in mock thought. “I can eat you out until you cry. Or you can fuck my thighs. Or you could jerk us off with those massive, lovely hands of yours.” Julian sat back, legs spread, eyes glinting. “You’ve had sex before, right? With a man? I wouldn’t want to deflower you behind some shamble of a tavern.”

Slowly, Geralt raised both eyebrows and looked down at Julian. “You want me to answer those, or do you want to get up so I can show you?” Julian nodded quickly in assent, and Geralt offered him a hand up.

“Wait, wait, wait! One for the road.” Julian leaned forward to suckle briefly, gently at the head of Geralt’s cock. “Okay, okay, I’m done,” Julian breathed, rocking back, ignoring Geralt’s shocked moan and instinctive thrust. He slapped lightly at Geralt’s thigh. “Down here, anyway. What do you say to a location change, Witcher? I’m sure you’ve got a tent or something somewhere.”

***

Geralt woke the next morning with the sun, and without Julian. He wouldn’t have cared, if it hadn’t meant that he slept so deeply that he somehow missed the bard leaving. Swearing, he rifled through his supplies and gear; swords, potions, coin purse, each of them present and accounted for. He huffed out a breath, relieved that he hadn’t been robbed blind, and by a _bard_ at that.

Readying himself quickly, Geralt set out for the day, armored and armed to the teeth. He made it to the border of the forest in good time; he’d taken a different route than the other parties, and while he couldn’t be sure that it would pay off in the long run, he certainly appreciated the quiet.

Which, of course, meant that it was destined to end. He smelled Yennefer before he saw her, the scent of lilac and gooseberries drifting in the breeze; it took but a moment for her to make herself known. “I thought I might find you here, Geralt. It’s good to see you.”

Geralt took a deep breath and rubbed the bridge of his nose. “Good to see you too, Yenn.” It was, but for the absolute certainty that her arrival meant that his day was, somehow, about to get really fucking complicated. “Bored with your lordling already? Or are you looking for somewhere to summer?” Geralt gestured broadly to the forest around them. “Seems like the Pustulskie mountains are nice this time of year. Rampaging beasts aside, that is.”

Yennefer scoffed, seamlessly falling into step with him. “No, to both. But you know that. I’m here on business, and I thought we might be able to help each other.” 

“Oh, is that what you thought?” It wasn’t unreasonable; Yennefer was a valuable asset in a fight. He just didn’t know what her game was. “And I figured. This isn’t your usual crowd.”

“Quite,” Yennefer said, dryly, gathering her skirt up to step over a rotting log. “I happened to see some of the others on my way. Charmers, all of them, with their quaint little blades and ratty beards. Still, they may become...troublesome, should you encounter them. Which is but one circumstance in which my assistance would prove quite useful.”

Geralt grunted, noncommittal. “We’ll see. Was there a bard fucking around with any of them? There’s one here, if you can believe it.” The words tumbled out of his mouth before he could think about them. He felt a touch of heat rise to his cheeks.

“You met a bard? _Here_?” There was suddenly a strange tension to Yennefer’s voice. Her next words were slow, careful. “And what, exactly, did this bard say his name was?”

"…Julian?" Geralt paused, trying to remember through the haze of drink and his own indifference. “Fuck, not pancakes. Pankratz?” 

“ _Jaskier’s_ here?” Yennefer hissed. “ _Shit_. Geralt, we need to move.” Without waiting for his response she quickened her pace, hurriedly traipsing through the trees.

Geralt matched her stride, ducking under a tree branch and snorting in amusement. “Why, are you secretly afraid of lutes?” The rest of her words caught up with him. “Wait, who the fuck is Jaskier?”

“Because I _refuse_ to let him jeopardize this endeavor,” Yennefer retorted, ignoring his second question entirely. She scowled, brow furrowing. “Fuck, what is that idiot even _doing_ here?”

Geralt rolled his eyes. “I don’t know, Yenn. I heard we’re hunting a wyvern, might be for that.” Stopping in her tracks, Yennefer turned to shoot him a look that suggested that he should hold his tongue if he wanted to keep it in his mouth. Geralt put his hands up, conciliatory. “I can’t be helpful if you don’t tell me who the hell this guy is.”

“Julian Alfred Pankratz,” Yennefer said, voice dripping with derision. “Otherwise known as the troubadour _Jaskier_.” She prodded at a flower emerging from the dirt with the tip of her boot and rolled her eyes, tone turning lofty. “Oxenfurt’s first _mage_.”

Geralt stared at her. “Mage? He told me he was a _bard_.” He scoured his memories of the night before, trying to remember an instance in which Julian-- _Jaskier--_ had used magic, had given any indication of magical ability whatsoever. 

Yennefer made a disgusted face. “Ugh. He _is_.” Her eyes narrowed intently, gaze sharpening. “What else did he tell you?”

Geralt kept himself from coughing, just barely. “We didn’t exactly bare our souls under the moonlight, Yenn. I think he mentioned that he had a job to do today, but that was it.”

Yennefer closed her eyes for a moment and took a deep breath, grimacing. Geralt could hear the grind of her teeth. Without speaking, she reached into a pouch at her side, picking carefully through the contents and withdrawing a scrap of blue cloth tied with twine.

“I swear, this had better be worth it,” Yennefer muttered under her breath, undoing the twine. Wrapped in the cloth was a lock of soft brown hair. Pinching it between her fingers, she brought it to her mouth, whispered something Geralt couldn’t parse, and blew on it.

Geralt startled as the lock of hair immediately burst into flame, billowing smoke that drifted _against_ the wind, further into the forest. Yennefer’s gaze snapped to the direction that the smoke had begun to waft, a vicious, determined spark in her eyes.

“You find the wyvern, Geralt. I’m going to go have _words_ with our bard.”

***

It was lucky that Geralt saw the glade before he stumbled into it. Even through the trees, he could tell it was beautiful--the light of the midday sun shone brightly upon the foliage dotting the clearing; at its heart lay a clear, glittering pool of water. It would’ve been the picture of serenity, if not for the massive, fuck-off wyvern right in the middle of it.

Wings folded close to its body, the wyvern dipped its gaping maw to drink from the spring. Geralt let out a very quiet breath, grateful that it hadn’t seemed to notice him. Geralt had seen wyverns, had seen _royal_ wyverns, with their golden fringe, massive horns, and venomous barbed tails. But the creature before him was far larger than it should’ve been; besides, all of the wyverns Geralt had encountered had just a single tail. This one had _three_ of them. 

A slight movement to the right caught his eye. There, weaving slowly, quietly through the trees, was Jaskier, _wearing no armor, carrying no weapons,_ and seemingly oblivious to Geralt’s presence. The only equipment that the bard seemed to have with him was his fucking _lute_. Geralt watched, dumbfounded, as Jaskier inched closer; using what Geralt could only assume was his singular shred of reason, the bard kept to the shadows where the forest canopy was too dense for sunlight to break through. By the time he’d managed to process the idiocy he was witnessing, Jaskier had tiptoed right to the edge of the glade.

Mage or not, Geralt thought, that fucking moron was about to get himself skewered. Gritting his teeth, Geralt snarled, drew his sword, and burst into the clearing. The wyvern reared up, towering over him as it unfurled to its full height; Geralt should’ve been prepared for the beast’s ear-splitting screech, but he still had to fight the urge to drop his sword and clap his hands to his ears.

Because _of course he did_ , Jaskier swore and immediately rushed into the clearing. Geralt shoved him away and hefted his silver blade, bracing for the heat of the wyvern’s breath as it snapped and bit, the sharp rush of air as its tail--fuck, _tails--_ whipped around to stab at him. Instead, the wyvern just shrieked once more and flapped its wings, sending gusts of wind tearing through the glade as it lifted from the ground and vanished over the tops of the trees.

“ _Shit_ ,” Jaskier breathed. He bolted into the forest, following the direction that the wyvern had flown. Geralt followed instinctively, faster than Jaskier but slowed by the foliage in his path; he crashed through the treeline just after Jaskier, emerging onto a flat, grassy plateau. They both watched the wyvern soar through the air, making its way towards the peak of a nearby mountain. Jaskier clenched his fists and let out a wordless yell of frustration.

“You’re welcome, by the way,” Geralt sniped, sheathing his sword. He surveyed the plateau, noting the cliff’s edge a couple hundred feet away.

“No!” Jaskier hissed. “That was _not_ the time for--for _gallantry!_ ” Comically aggrieved, Jaskier threw his arms out in a broad sweep. “Gods, do you know how much harder this is going to be? At this distance? With these _acoustics_?”

Geralt stared at Jaskier, but the bard just sighed, reaching for his lute and checking its strings. “Needs must, I suppose.” He quickly strode forward and turned away towards the forest, frowning when Geralt followed and stood in front of him.

“Listen, if you don’t mind, I really need to get to this,” Jaskier said, hurriedly, peering over Geralt’s shoulder into the trees. “I encountered an, ah, _acquaintance_ of mine back in there, and as delightful as I find your company, I really don’t think I bought myself enough time to hang around and enjoy it.”

 _An acquaintance_. “Yennefer,” Geralt breathed.

Jaskier stared at Geralt, aghast. “ _Excuse_ me, you know _Yennefer_?” His eyes widened with mounting horror. “Oh, gods, are you _with_ Yennefer? Professionally? _Sexually_?” He brought the lute closer to his body, cradling it protectively. “That’s--horrible, really. For both of us, I suppose.”

“What the _fuck_ did you do to her, bard?” Geralt snarled, drawing his sword.

Jaskier eyed the blade. “Not to worry, just something to hold her in place, for the time being.” He bit his lip, a hint of mischief glinting in his eyes. "This is a nice forest, really. Quite a bit of flora and fauna, all very obliging.”

Geralt lunged forward. Jaskier danced just out of reach, shockingly nimble. “Oh, she’ll be _fine_! For that matter, it’s only going to keep her occupied for so long, and I would really, _really_ , rather not have to deal with what comes after.” Geralt growled, but Jaskier just grinned at him, clever and confident. “Fighting Yennefer would be messy, to say the least.”

He took another swing, but Jaskier dodged once more and leapt back. “So,” Jaskier announced, strumming lightly at his lute strings. “If you’ll excuse me, _love_.”

Geralt barely had time to wonder what the fuck the bard was doing before Jaskier’s fingers came down on the lute and a battering wave of force smashed into him, throwing him backwards. _Like Aard_ , Geralt thought, dazed, as he tumbled head-over-heels through the grass. Skidding to a halt, he coughed up a mouthful of dirt and lifted his head.

Ahead of him, Jaskier looked to the sky, opened his mouth, and started to _sing_. The bright swell of it burst forth from his chest, accompanied by the sound of his lute, a livelier tune than what’d sent Geralt flying. He couldn’t understand it, but that didn’t keep it from filling his head so completely that he could barely think over it.

Gritting his teeth, Geralt got up and stumbled a few steps forward, only to hear Jaskier weave the same violent sound from before into the lute’s melody, unleashing another concussive blast and hurling him to the ground once more. Geralt punched the dirt, furious, and looked up to see Jaskier wink at him, lips quirking up as words continued to spill forth from them.

"Shut. The. Fuck. _Up_.” Geralt shouted, trying to pitch his voice to carry over Jaskier’s. Instead, Jaskier closed his eyes, voice spiraling through the air, head cocked as though waiting for something. After a moment the bard’s eyes flew open, shining with delight. His voice rose to a crescendo before hitting one final note and breaking off, just as suddenly as it had begun.

Geralt staggered to his feet, _yet again_ , only to see Jaskier scrambling to return the lute to its place on his back. _“I’m going to rip that lute apart with my bare hands,”_ Geralt seethed at him, hands flexing, teeth bared.

“No,” Jaskier said, looking past Geralt, blue eyes bright and wild. “You’re not.” With a parting grin at Geralt, he turned and began running towards the cliff’s edge.

About to give chase, Geralt paused for the barest moment, tilting his head; just beyond the echo of Jaskier’s song ringing in his ears, he could hear something that set his teeth on edge. It sounded like--

Geralt dropped like a stone and flattened himself to the ground just as the wyvern barreled through the sky, swooping over the plateau and missing him by a claw’s breadth, keeping low as it hurtled past him. Screeching, the wyvern pulled up to Jaskier’s flank, about to outpace the bard. Geralt stood and watched, stunned, as Jaskier put on a final burst of speed and leapt sideways, grabbing the stringy tendrils hanging from the wyvern’s sides and scrabbling up onto its scaled back, situating himself ahead of the beast’s dorsal spikes.

With two flaps of its wings the creature soared over the cliff edge, bringing it and Jaskier into the open air. Taking the wyvern into a broad turn, Jaskier wheeled them around to face Geralt, looking tremendously smug.

Something bright and scorching roared past Geralt’s head. Whipping around, Geralt saw Yennefer run forward and send another fireball hurtling towards Jaskier and the wyvern, just missing them. The wyvern shrieked in agitation and Jaskier crooned at it, patting at its scales. He glared at Yennefer, who held her hands up, flames already beginning to lick at her palms anew.

Geralt grabbed her arm, ignoring the heat of the flickering fire. “Yenn, _enough_. You’ll just shoot them both out of the sky.”

“Who says that’s not what I _intend_ to do?” Yennefer muttered, viciously.

“Yennefer!” Geralt growled, tracking the way the bard tightened his grip on the wyvern, lips parting around a volley of words. The creature’s jaw lolled open, too, teeth bright and sharp; its tails flicked from side to side, dripping venom. “Don’t do this.” Yennefer glowered, but extinguished the fireball.

Seemingly reassured that Yennefer wasn’t about to take another shot, Jaskier laughed, joyously, and flashed them a winning smile.

“Yennefer, good to see you! As always, kindly consider dying in a fire. Geralt, genuinely lovely to meet you, and I hope that this is but a mere bump in the road of our blossoming acquaintance." Geralt snarled when the bard had the gall to fucking _wink_ at him, _again_. "Swing by Oxenfurt, if you get a chance. A week or two, give or take.” With that, Jaskier petted fondly at the wyvern’s side and whistled, beaming when it trilled and beat its massive wings, taking to the sky.

Geralt stood there beside Yennefer, rooted in place. Silence hung between them. It was almost jarring, after the tremendous noise that had reverberated through the air just moments earlier.

“Well,” Yennefer said, finally, huffing out an annoyed breath. “Fuck.”

“Fuck,” Geralt agreed.

**Author's Note:**

> this whole 'chapters' thing is unfamiliar territory for me, so I make no promises here. also, catch me at ric0cheted dot tumblr dot com.


End file.
